package io.renren.modules.dynamic.service;

import io.renren.common.utils.R;
import io.renren.commons.dynamic.datasource.annotation.DataTransaction;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.SQLException;

/**
 * 多数据源事务控制测试
 *
 * @author hou 2019-5-29 10:04:04
 */
@Service
public class DynamicTestService {

    @Autowired
    private UserService userService;

    @DataTransaction
    public R del() throws SQLException {
        // 删除第一个数据源的数据
        userService.delFirst();
        // 1.删除第二个数据源的数据 并手动抛出runtime异常
        userService.delThirdRuntime();
        // 2.第二个数据源直接抛出runtime异常
//        userService.thirdThrowEx();
        // 3.第二个数据源SQL操作异常
//        userService.delThirdThrowEx();
        // 4.删除第二个数据源的数据
//        userService.delThirdSuccess();
        return R.ok();
    }
}
